package com.greendao.dao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.gzdh.dishrecognition.entity.BQEntity;
import com.gzdh.dishrecognition.entity.BmcmEntity;
import com.gzdh.dishrecognition.entity.BmzlEntity;
import com.gzdh.dishrecognition.entity.FkEntity;
import com.gzdh.dishrecognition.entity.KSEntity;
import com.gzdh.dishrecognition.entity.MacMainpFoodMenuEntity;
import com.gzdh.dishrecognition.entity.MacMainpSbruanDinnerEntity;
import com.gzdh.dishrecognition.entity.OrdersDetailsEntity;
import com.gzdh.dishrecognition.entity.OrdersEntity;
import com.gzdh.dishrecognition.entity.WeekMenuBakEntity;

import com.greendao.dao.BQEntityDao;
import com.greendao.dao.BmcmEntityDao;
import com.greendao.dao.BmzlEntityDao;
import com.greendao.dao.FkEntityDao;
import com.greendao.dao.KSEntityDao;
import com.greendao.dao.MacMainpFoodMenuEntityDao;
import com.greendao.dao.MacMainpSbruanDinnerEntityDao;
import com.greendao.dao.OrdersDetailsEntityDao;
import com.greendao.dao.OrdersEntityDao;
import com.greendao.dao.WeekMenuBakEntityDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig bQEntityDaoConfig;
    private final DaoConfig bmcmEntityDaoConfig;
    private final DaoConfig bmzlEntityDaoConfig;
    private final DaoConfig fkEntityDaoConfig;
    private final DaoConfig kSEntityDaoConfig;
    private final DaoConfig macMainpFoodMenuEntityDaoConfig;
    private final DaoConfig macMainpSbruanDinnerEntityDaoConfig;
    private final DaoConfig ordersDetailsEntityDaoConfig;
    private final DaoConfig ordersEntityDaoConfig;
    private final DaoConfig weekMenuBakEntityDaoConfig;

    private final BQEntityDao bQEntityDao;
    private final BmcmEntityDao bmcmEntityDao;
    private final BmzlEntityDao bmzlEntityDao;
    private final FkEntityDao fkEntityDao;
    private final KSEntityDao kSEntityDao;
    private final MacMainpFoodMenuEntityDao macMainpFoodMenuEntityDao;
    private final MacMainpSbruanDinnerEntityDao macMainpSbruanDinnerEntityDao;
    private final OrdersDetailsEntityDao ordersDetailsEntityDao;
    private final OrdersEntityDao ordersEntityDao;
    private final WeekMenuBakEntityDao weekMenuBakEntityDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        bQEntityDaoConfig = daoConfigMap.get(BQEntityDao.class).clone();
        bQEntityDaoConfig.initIdentityScope(type);

        bmcmEntityDaoConfig = daoConfigMap.get(BmcmEntityDao.class).clone();
        bmcmEntityDaoConfig.initIdentityScope(type);

        bmzlEntityDaoConfig = daoConfigMap.get(BmzlEntityDao.class).clone();
        bmzlEntityDaoConfig.initIdentityScope(type);

        fkEntityDaoConfig = daoConfigMap.get(FkEntityDao.class).clone();
        fkEntityDaoConfig.initIdentityScope(type);

        kSEntityDaoConfig = daoConfigMap.get(KSEntityDao.class).clone();
        kSEntityDaoConfig.initIdentityScope(type);

        macMainpFoodMenuEntityDaoConfig = daoConfigMap.get(MacMainpFoodMenuEntityDao.class).clone();
        macMainpFoodMenuEntityDaoConfig.initIdentityScope(type);

        macMainpSbruanDinnerEntityDaoConfig = daoConfigMap.get(MacMainpSbruanDinnerEntityDao.class).clone();
        macMainpSbruanDinnerEntityDaoConfig.initIdentityScope(type);

        ordersDetailsEntityDaoConfig = daoConfigMap.get(OrdersDetailsEntityDao.class).clone();
        ordersDetailsEntityDaoConfig.initIdentityScope(type);

        ordersEntityDaoConfig = daoConfigMap.get(OrdersEntityDao.class).clone();
        ordersEntityDaoConfig.initIdentityScope(type);

        weekMenuBakEntityDaoConfig = daoConfigMap.get(WeekMenuBakEntityDao.class).clone();
        weekMenuBakEntityDaoConfig.initIdentityScope(type);

        bQEntityDao = new BQEntityDao(bQEntityDaoConfig, this);
        bmcmEntityDao = new BmcmEntityDao(bmcmEntityDaoConfig, this);
        bmzlEntityDao = new BmzlEntityDao(bmzlEntityDaoConfig, this);
        fkEntityDao = new FkEntityDao(fkEntityDaoConfig, this);
        kSEntityDao = new KSEntityDao(kSEntityDaoConfig, this);
        macMainpFoodMenuEntityDao = new MacMainpFoodMenuEntityDao(macMainpFoodMenuEntityDaoConfig, this);
        macMainpSbruanDinnerEntityDao = new MacMainpSbruanDinnerEntityDao(macMainpSbruanDinnerEntityDaoConfig, this);
        ordersDetailsEntityDao = new OrdersDetailsEntityDao(ordersDetailsEntityDaoConfig, this);
        ordersEntityDao = new OrdersEntityDao(ordersEntityDaoConfig, this);
        weekMenuBakEntityDao = new WeekMenuBakEntityDao(weekMenuBakEntityDaoConfig, this);

        registerDao(BQEntity.class, bQEntityDao);
        registerDao(BmcmEntity.class, bmcmEntityDao);
        registerDao(BmzlEntity.class, bmzlEntityDao);
        registerDao(FkEntity.class, fkEntityDao);
        registerDao(KSEntity.class, kSEntityDao);
        registerDao(MacMainpFoodMenuEntity.class, macMainpFoodMenuEntityDao);
        registerDao(MacMainpSbruanDinnerEntity.class, macMainpSbruanDinnerEntityDao);
        registerDao(OrdersDetailsEntity.class, ordersDetailsEntityDao);
        registerDao(OrdersEntity.class, ordersEntityDao);
        registerDao(WeekMenuBakEntity.class, weekMenuBakEntityDao);
    }
    
    public void clear() {
        bQEntityDaoConfig.clearIdentityScope();
        bmcmEntityDaoConfig.clearIdentityScope();
        bmzlEntityDaoConfig.clearIdentityScope();
        fkEntityDaoConfig.clearIdentityScope();
        kSEntityDaoConfig.clearIdentityScope();
        macMainpFoodMenuEntityDaoConfig.clearIdentityScope();
        macMainpSbruanDinnerEntityDaoConfig.clearIdentityScope();
        ordersDetailsEntityDaoConfig.clearIdentityScope();
        ordersEntityDaoConfig.clearIdentityScope();
        weekMenuBakEntityDaoConfig.clearIdentityScope();
    }

    public BQEntityDao getBQEntityDao() {
        return bQEntityDao;
    }

    public BmcmEntityDao getBmcmEntityDao() {
        return bmcmEntityDao;
    }

    public BmzlEntityDao getBmzlEntityDao() {
        return bmzlEntityDao;
    }

    public FkEntityDao getFkEntityDao() {
        return fkEntityDao;
    }

    public KSEntityDao getKSEntityDao() {
        return kSEntityDao;
    }

    public MacMainpFoodMenuEntityDao getMacMainpFoodMenuEntityDao() {
        return macMainpFoodMenuEntityDao;
    }

    public MacMainpSbruanDinnerEntityDao getMacMainpSbruanDinnerEntityDao() {
        return macMainpSbruanDinnerEntityDao;
    }

    public OrdersDetailsEntityDao getOrdersDetailsEntityDao() {
        return ordersDetailsEntityDao;
    }

    public OrdersEntityDao getOrdersEntityDao() {
        return ordersEntityDao;
    }

    public WeekMenuBakEntityDao getWeekMenuBakEntityDao() {
        return weekMenuBakEntityDao;
    }

}
